1. Field of the Invention
This invention relates to the field of errors handling in a data processing environment.
2. Background Art
Text editors (e.g., word processing application) provide the ability to manipulate text. Many text editors provide some proofreading capability. In most text editors, this capability consists of a spelling checker for identifying spelling errors. Other examples, include tools for detecting grammatical and punctuation errors. Proofreading processing consists of error detection, communication, and correction.
For example, a spelling checker scans text to identify errors, communicates the errors, and provides an ability to correct the error. To identify the errors to a user, a spelling checker compares each word of the document with a spelling dictionary (i.e., dictionary of words). Spelling errors are detected when a word contained in the text does not exist in the spelling dictionary. If a word in the textual document is contained in the dictionary, the word is considered to be spelled correctly. If the word is not located in the dictionary, the word is considered to be spelled incorrectly (an "error"). The error is communicated to the user, and the user indicates how the error is to be corrected.
In prior art systems, the process of error detection, communication, and correction is implemented as a single phased approach, or as a multi-phased approach. A single phased approach combines error detection, communication, and correction into a single pass through the text. That is, text is scanned until an error is detected or all of the text has been scanned. If an error is detected, scanning is interrupted, the error is displayed, the user inputs the error correction. Until the user provides error-handling input, the scanning process remains dormant.
The single-phased approach displays the errors sequentially (i.e., in the order in which they were found). Individual errors are communicated as highlighted portions of the text (e.g., in boldface), or in some portion of the screen. Therefore, errors must be processed in the order in which they are found. Further, each error is corrected as it is encountered. Unless a global correction is requested to correct each occurrence of the error as it is encountered, each error is corrected individually.
The single-phased approach requires an excessive amount of user interaction for at least two reasons. First, the user is forced to monitor the error detection process even though error detection does not require any user input. Further, the error communication and correction capabilities provided in the single phase approach does not provide the ability to view the errors as a list (with or without a suggested alternative), to group a subset of the errors, and to perform error correction collectively on the group of errors.
The multi-phased approach scans all of the text before any errors are communicated. This approach eliminates the need to monitor the error detection process. However, like the single-phased approach, errors are communicated and corrected sequentially. There is no ability to view errors as a list, to group errors, and to perform proofreading functions collectively on the group of errors.